package com.neuedu.wemall.dao.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import org.apache.ibatis.type.Alias;

import java.io.Serializable;
import java.util.Date;
/**
* Author lu
* Date  2025-09-08 15:17:25
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString
@Alias("member")
@TableName(value = "member")
public class Member implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
    *会员ID
    */
    @TableField(value = "id")
    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
    * 唯一 非空
    */
    @TableField(value = "email")
    private String email;
    /**
    * 密码
    */
    @TableField(value = "password")
    private String password;
    /**
    * 加密盐
    */
    private String salt;
    /**
    * 会员等级(1:普通会员;2:金牌会员;3:钻石会员)
    */
    @TableField(value = "level")
    private Integer level;
    /**
    * 昵称
    */
    @TableField(value = "nickname")
    private String nickname;
    /**
    * 会员头像
    */
    @TableField(value = "avatar")
    private String avatar;
    /**
    * 性别
    */
    @TableField(value = "gender")
    private Integer gender;
    /**
    * 所在城市
    */
    @TableField(value = "city")
    private String city;
    /**
    * 账号
    */
    @TableField(value = "username")
    private String username;
    /**
    * 手机号码
    */
    @TableField(value = "mobile")
    private String mobile;

    /**
    * 出生日期
    */
    @TableField(value = "birth")
    private Date birth;
    /**
    * 身份证号码
    */
    @TableField(value = "id_card")
    private String idCard;
    /**
    * 会员状态(1:正常;2:禁用;3:注销)
    */
    @TableField(value = "status")
    private Integer status;
    /**
    * 注册时间
    */
    @TableField(value = "reg_time")
    private Date regTime;
    /**
    * 注册渠道(WEB|APP|小程序)
    */
    @TableField(value = "reg_channel")
    private String regChannel;
    /**
    * 最后登录时间
    */
    @TableField(value = "last_login")
    private Date lastLogin;
    /**
    * 最后登录IP
    */
    @TableField(value = "last_ip")
    private String lastIp;
    /**
    * 最后修改密码时间
    */
    @TableField(value = "pwd_upd_time")
    private Date pwdUpdTime;
}